const router = require('express').Router();
const cateModel = require('../model/cateModel')
router.get('/cateList', async (req,res)=>{
  // 查询分类的数据 传给 模板渲染
  // 获取  前台 传输的分页参数 默认值处理 是考虑到首次渲染
  let { current=1,pageSize=2 } = req.query; 
  current = parseInt(current);
  pageSize = parseInt(pageSize);
  const cates = await cateModel.find().limit(pageSize).skip((current-1)*pageSize).sort({_id:-1});
  // 数据总条数
  const count = await cateModel.count();
  res.render('cateList', {
    cates,
    count,
    current
  })
})
// 增加分类页面路由
router.get('/cateAdd', async (req,res)=>{
  // 将所有分类数据传给前端 作为新增分类的父级分类选项
  const cates = await cateModel.find();
  res.render('cateAdd', {
    cates
  })
})
// 增加分页 处理数据路由
router.post('/cateAdd', (req,res)=>{
  console.log(req.body);
  // 数据新增一条分类
  cateModel.insertMany(req.body).then(ret=>{
    res.send({
      code:200,
      msg:'增加成功'
    })
  }).catch(err=>{
    res.send({
      code:300,
      msg:'增加失败'
    })
  })
  
})
// 删除分类
router.post('/delCate', (req,res)=>{
  const { id } = req.body;
  cateModel.remove({
    _id: id
  }).then(ret=>{
    res.send({
      code: 200,
      msg: '删除成功'
    })
  }).catch(err=>{
    res.send({
      code: 300,
      msg: '删除失败'
    })
  })
})
// 编辑分类 视图路由
router.get('/cateUpdate',async (req,res)=>{
  const { id } = req.query;
  // 根据id查询当前修改分类的数据
  const cate = await cateModel.findById(id);
  // 所有分类 作为编辑分类 父级分类
  const cates = await cateModel.find();
  res.render('cateEdit', {
    cate,
    cates
  })
})
// 编辑分类路由
router.post('/cateUpdate', (req,res)=>{
  console.log(req.body,1111);
  cateModel.update({
    _id: req.body._id
  },req.body).then(ret=>{
    res.send({
      code: 200,
      msg: '修改成功'
    })
  }).catch(err=>{
    res.send({
      code: 300,
      msg: '修改失败'
    })
  })
})
module.exports = router;